package com.jiantong.lawEnforcing.service;

import com.jiantong.lawEnforcing.dto.CasesBasicDto;
import com.jiantong.lawEnforcing.model.CasesBasic;
import com.jiantong.lawEnforcing.model.CasesInformation;
import io.terminus.common.model.Paging;
import io.terminus.common.model.Response;

import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 案件信息表
 * Created by mz03 on 2017/8/14.
 */
public interface CasesInformationService {

    /**
     * id 查找
     * @param id
     * @return News
     */
    Response<CasesInformation> finById(Long id);


    /**
     * 创建新闻新单据
     * @param casesInformation 单据对象
     * @return 主键 id
     */
    Response<Long> create(CasesInformation casesInformation);


    /**
     * 更新新闻的单据
     * @param casesInformation 单据对象
     * @return true or false
     */
    Response<Boolean> update(CasesInformation casesInformation);


    /**
     * 根据一组status分页查询
     * @param pageNo
     * @param pageSize
     * @param criteria
     * @return
     */
    Response<Paging<CasesInformation>> pagingByStatus(Integer pageNo, Integer pageSize, Map<String, Object> criteria);


    /**
     * 根据一组status分页查询
     * @param pageNo
     * @param pageSize
     * @param statusList
     * @param casesInformation
     * @return
     */
    Response<Paging<CasesInformation>> pagingByCasesInformation(Integer pageNo, Integer pageSize, List<Integer> statusList, CasesInformation casesInformation);

    /**
     * 举报类型占比图
     * @return
     */
    Response<List<Map<String,Integer>>> countByCasesSource();


    /**
     * 案件类型占比图
     * @return
     */
    Response<List<Map<String,Integer>>> countByCasesType();
}
